Businesses employ large-scale data processing systems for storing and processing their data. FIG. 1 illustrates relevant components of an exemplary data processing system 10 having a host computer system 12, a transaction log 14, a primary data storage system 16, and a secondary data storage system 18. Primary and secondary data storage system 16 and 18 include data memories 22 and 24, respectively, which store primary and back up data volumes, respectively, which will be more fully described below. The primary data volume is the “working” data volume or the contents of data that are accessed by host computer system 12 in response to host computer system 12 receiving a transaction (i.e, instruction) to read, write or otherwise modify data. The back up data volume is a point in time copy of the primary data volume and is used when primary data storage system fails or when the primary data volume contained therein is logically corrupted or destroyed by operator error or invalid software behavior.
Host computer system 12 accesses (e.g., read, write, or otherwise modify) data in primary data volume of memory 22 in accordance with an access transaction received thereby. When computer system 10 receives a transaction to access, for example, a particular file of data in the primary data volume, host computer 12 first accesses an index table which maps a file name of the file to the location of one or more physical blocks of memory in memory 22. Once the location of the of memory blocks are known, host computer system 12 can access the memory blocks and read or write data thereto in accordance with the transaction.
Data processing systems, such as that shown in FIG. 1, often experience a logical corruption or destruction of data in their primary data volume or a physical failure in their primary data storage system. When these events occur, access to the primary data volume will be denied. Without a back up copy of the primary data, a business, which relies on its data processing system, will be severely impacted by these events.
To continue operating after a logical corruption in the primary data volume or a physical failure in their primary data storage system, business's often create a point in time “back up copy” of the primary data volume. In FIG. 1, a back up copy of the primary data volume in memory 22 can be created in memory 24 of secondary data storage system 18. Creating a back up copy of the primary data volume is a procedure well known in the art. A back up copy is created in memory 24 each time the host computer system 12 issues a backup command. Transaction log 14 maintains a copy of all transactions that modify data of the primary data volume after a back up copy of the primary volume is created. It is noted that the entire contents of the primary data volume need not be copied into memory 24 each time the primary volume is backed up. Rather, only the contents of memory blocks of memory 22 which differ from the contents of corresponding memory blocks of memory 24 need to be updated upon each primary volume back up. Moreover, the primary data volume is not backed up every time host computer system 12 writes or modifies data in the primary data volume in memory 22.
When, for example, primary data storage system 16 experiences a physical failure, the secondary data storage system 18 and the back up copy created therein can used to service read or write transactions provided to host computer system 12. However, before the back up copy can be used, the back up copy must be updated from the time it was created so that the data contents thereof mirror the contents of the primary data volume just before the failure of primary data storage system 16. In an update procedure, all transactions stored in log 14 which occurred between the time the back up copy was created and the time the failure occurred, are applied by host computer system 12 to the back up copy within secondary data system 18. Once all the transactions are applied, the back up copy should be identical to the primary data volume just before the failure, and host computer system 12 can resume processing received transactions using the updated back up copy as if it were the primary data volume.
Unfortunately, updating data in the backup copy results in a loss of the original or stable point in time copy of the primary data volume. If the secondary data storage system 18 experiences physical failure or if logical data corruption occurs in the updated back up copy due to, for example, operator error, host computer system 12, once again, will not be able to process transaction received requests. To avoid this, it is common practice to create a copy of the back up copy data, preferably in an additional data storage system (not shown). Thereafter, the the copy of the backup copy is updated using the transactions stored within the log 14. Once updated, host computer system 12 can process newly received transactions using the copy of the back up copy. Unfortunately, a substantial amount of time may be needed to copy the entire contents of the back up copy. This delay of time may be unacceptable to a business which is seeking to continue processing transactions as soon as possible after, for example, a failure of its primary data storage system 16.